Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Traffic Capture and Replay #643

Merged
merged 4 commits into from
Oct 25, 2024
Merged

Conversation

djshow832
Copy link
Collaborator

What problem does this PR solve?

Issue Number: ref #642

Problem Summary:
There are some cases when users want to capture the traffic on the production cluster and replay the traffic on a testing cluster:

  • A new TiDB version may have compatibility breakers, such as the statements failing, running slower, or resulting in different query results.
  • When the cluster runs unexpectedly, users want to capture the traffic so that they can investigate it later by replaying the traffic.
  • Test the maximum throughput of a scaled-up or scaled-down cluster using the real production workload instead of standard bench tools.

What is changed and how it works:
This proposes a design of capturing traffic on the production cluster and replaying the traffic on a testing cluster to verify the SQL compatibility and performance of the new cluster.

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Notable changes

  • Has configuration change
  • Has HTTP API interfaces change
  • Has tiproxyctl change
  • Other user behavior changes

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

None

@ti-chi-bot ti-chi-bot bot requested review from bb7133 and xhebox August 27, 2024 09:58
@ti-chi-bot ti-chi-bot bot added the size/L label Aug 27, 2024
@djshow832 djshow832 changed the title RFC: traffic capture and replay RFC: Traffic Capture and Replay Aug 27, 2024
@codecov-commenter
Copy link

codecov-commenter commented Aug 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (main@d40947a). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #643   +/-   ##
=======================================
  Coverage        ?   66.12%           
=======================================
  Files           ?      122           
  Lines           ?    11167           
  Branches        ?        0           
=======================================
  Hits            ?     7384           
  Misses          ?     3250           
  Partials        ?      533           
Flag Coverage Δ
unit 66.12% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@djshow832 djshow832 mentioned this pull request Aug 28, 2024
37 tasks
@ti-chi-bot ti-chi-bot bot added size/XL and removed size/L labels Oct 25, 2024
Copy link

ti-chi-bot bot commented Oct 25, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: xhebox

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot bot added the lgtm label Oct 25, 2024
Copy link

ti-chi-bot bot commented Oct 25, 2024

[LGTM Timeline notifier]

Timeline:

  • 2024-10-25 09:19:34.231367096 +0000 UTC m=+601974.928157701: ☑️ agreed by xhebox.

@ti-chi-bot ti-chi-bot bot added the approved label Oct 25, 2024
@ti-chi-bot ti-chi-bot bot merged commit 56ed6eb into pingcap:main Oct 25, 2024
5 checks passed
@djshow832 djshow832 deleted the rfc_traffic branch October 25, 2024 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants